Client administration technology enables an individual user to become the remote administrator of a group of managed computing devices. Note that in this context a “remotely” administered computing device can refer to a computer on the other side of the room, the other side of the world, or anywhere in between. For example, the most computer knowledgeable person in a family could remotely manage all of the computers belonging to his immediate and extended family members. This could include all of the computers in his home (e.g., those used by his wife and children) as well as those belonging to his parents, in-laws and siblings, located in other states or even other countries.
Remote administration can refer to remotely performing activities for a managed client, such as shutting down or rebooting, modifying system services or settings, or installing software. Remote administration can also include interactive remote control of a managed client in real time, to trouble shoot problems or otherwise provide assistance.
Remote administration involves the various managed clients checking in with a server at specified intervals, using a traditional polling model. By transmitting polling inquiries to the server at specified intervals, each managed client is in effect prompting the server to see whether it has any remote administrative activity to execute on that managed client. Because each managed client is polling at a given interval, the server is prompted to separately administer each of the managed clients in turn.
In such polling models, the server calculates a default polling interval for the managed clients. The polling interval is typically based on the number of managed clients and the amount of available bandwidth. The polling interval is calculated so as to leave a predetermined amount of headroom available for real time administration sessions with the managed clients (e.g., 20%).
Responsive to a managed client polling the server according to the polling interval, the server returns a polling response to the managed client. In order to change the polling interval, the server can include a new polling interval for the client to use for subsequent polling inquiries. In order to maintain the existing polling interval, the server can either not return a polling interval, or include an unchanged polling interval in the polling response. By changing or maintaining the polling interval as desired, the server directs the managed clients to stay in synchronization.
Polling by managed clients provides some very tangible advantages, and makes the type of remote administration described above practicable. However, polling at a low interval (i.e., frequent polling) significantly increases the load on the server, thereby slowing down the server and affecting the feasibility of adding more managed clients. On the other hand, polling at a high interval (low frequency) results in long periods of time between remote administrative actions directed at managed clients, thereby decreasing end user satisfaction. It would be desirable to address these issues.